package com.qr.mp.injectors;

import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.AbstractSqlInjector;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;

import java.util.ArrayList;
import java.util.List;

/**
 * 如果是继承AbstractSqlInjector，那么原来的方法就不能使用了，只有我们自己定义的
 * mybatisplus启动的时候检测到有注入器，那么就会将默认的注入器摒弃掉，而改用自定义的sql注入器
 * 如果我们想要保持原来框架中的方法，那么就应该继承这个DefaultSqlInjector
 *      因为mybatisplus启动的时候就是注入的这个sql注入器
 *      将父类中的集合添加进来，继承他之后不影响后续框架中方法的使用
 */
//public class MySqlInuectors extends AbstractSqlInjector
public class MySqlInuectors extends DefaultSqlInjector
{
    /**
     * 将我们自定义的方法添加到这个list集合当中
     * @return
     */
    @Override
    public List<AbstractMethod> getMethodList() {
        List<AbstractMethod> list = new ArrayList<>();
        //将父类中的集合添加进来
        list.addAll(super.getMethodList());
        //扩充自定义方法
        list.add(new FindAll());
        return list;
    }
}
